package miniprojet.jeux.modele;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

@Entity
public class Equipe implements Serializable {

	private int idEquipe;
	private String nom;
	private int numero;
	private Personne representant;
	private Collection<Joueur> joueurs;

	public Equipe() {
		joueurs = new ArrayList<Joueur>();
	}

	@Id
	@GeneratedValue
	public int getIdEquipe() {
		return idEquipe;
	}

	public void setIdEquipe(int idEquipe) {
		this.idEquipe = idEquipe;
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	@OneToOne
	public Personne getRepresentant() {
		return representant;
	}

	public void setRepresentant(Personne representant) {
		this.representant = representant;
	}

	@OneToMany(mappedBy = "equipe", cascade = { CascadeType.ALL })
	public Collection<Joueur> getJoueurs() {
		return joueurs;
	}

	public void setJoueurs(Collection<Joueur> joueurs) {
		this.joueurs = joueurs;
	}

	public void addJoueur(Joueur joueur) {
		joueurs.add(joueur);
	}

}
